#ifndef __UM_STRING_H__
#define __UM_STRING_H__

#include "um_basic_types.h"

typedef struct
{
	UM_CHAR *(*data)(UM_VOID *str);
	UM_VOID (*erase)(UM_VOID *str, UM_S32 s, UM_S32 l);
	UM_VOID (*append)(UM_VOID *str, UM_CHAR* s, UM_S32 len);
	UM_VOID (*appendByPos)(UM_VOID *str, UM_CHAR* s, UM_S32 pos, UM_S32 len);
	UM_VOID (*add)(UM_VOID *str, UM_CHAR c);
	UM_VOID *(*getAddr)(UM_VOID *str, UM_S32 index);
	UM_S32 (*size)(UM_VOID *str);
	UM_S32 (*getLength)(UM_VOID *str);
	UM_VOID (*free)(UM_VOID *str);
}UM_String;

UM_String *createUmString(UM_S32 size);

#endif